JAVA technology continues to provide a useful mechanism for dynamically achieving programming goals. This run-time technology permits dynamic installation, configuration, and execution of software. This is particularly useful for software delivered remotely over a network connection, such as the Internet.
In addition to the usefulness of JAVA technology with respect to conventional Internet applications, many database providers have similarly recognized JAVA's benefits and usefulness particularly when delivering front-end services to a database over the Internet to end users. Thus, many databases now support JAVA.
One issue with the increasing pervasiveness of JAVA technology is that more complex JAVA Stored Procedures (JSPs) are being implemented in end-user applications that access enterprise databases. For large database or data warehouse installations, complex and voluminous usage of JSP methods within an application can quickly and adversely impact performance benchmarks for those database or data warehouse installations.
More particularly, existing database JAVA applications typically follow a standard for an American National Standards Institute (ANSI) Structure Query Language (SQL) that is optimized for JAVA (referred to as SQLJ) for purposes of using JAVA Archive (JAR) files to archive JAVA methods, which are then used by JSPs (JSP methods). Essentially, the JSP methods are packed into JAR files according to their functionalities.
For example, consider a database application using JSP methods to import, encrypt, and insert data files into a database. A database developer generally encrypts all data import related methods into one JAR file, all encryption related methods into a second JAR file, and all insertion methods into still a third JAR file. These JAR files are then installed in user databases for end-user applications to call. This is a generic approach and can permit the database developer to support and to service a variety of end-user applications in an easy and straight forward manner, via the three JAR files.
However, what seems ideal for support purposes can quickly become a performance issue during execution of the end-user applications that use these JAR files. The approach can result in multiple disk accesses when each end-user application executes. So, any particular application utilizing one method from each JAR file may encounter the following performance related issues: access to each of the JAR files can cause many disk page faults when the JAR files are large (this is not uncommon), usage of JSP methods from different JAR files means that multiple different disks requests are needed. These problems slow down processing of the JSPs within the application and degrades not only performance of a particular end-user application but also degrades performance for all users of the database.
Thus, improved mechanisms for constructing and using JAVA files associated with JSP methods are desirable.